package com.punai.standard.domain;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.punai.common.core.domain.BaseEntity;
import com.punai.standard.domain.bo.StaConsumeBo;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public class StaGxFee extends BaseEntity {
    private static final long serialVersionUID = 1L;
    private String id;
    private String versionId;
    private String code;
    private String name;
    private String chapterId;
    private String unit;
    private String content;
    private String calcRule;
    private String suitableRange;
    private Integer priority;
    private String featureConsumeState;
    private Integer orderNum;
    @TableField(fill = FieldFill.INSERT)
    private Long deptId;
    @TableField(fill = FieldFill.INSERT)
    private Long userId;

    @TableField(exist = false)
    @ExcelIgnore
    private String featureValues;

    @TableField(exist = false)
    @ExcelIgnore
    private List<StaConsumeBo> cjCategoryBos;
    @TableField(exist = false)
    @ExcelIgnore
    private List<Map<String,Object>> cjCategoryBosOld = new ArrayList<>();


    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public void setVersionId(String versionId) {
        this.versionId = versionId;
    }

    public String getVersionId() {
        return versionId;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getCode() {
        return code;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setChapterId(String chapterId) {
        this.chapterId = chapterId;
    }

    public String getChapterId() {
        return chapterId;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public String getUnit() {
        return unit;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getContent() {
        return content;
    }

    public void setCalcRule(String calcRule) {
        this.calcRule = calcRule;
    }

    public String getCalcRule() {
        return calcRule;
    }

    public Integer getPriority() {
        return priority;
    }

    public void setPriority(Integer priority) {
        this.priority = priority;
    }

    public String getFeatureConsumeState() {
        return featureConsumeState;
    }

    public void setFeatureConsumeState(String featureConsumeState) {
        this.featureConsumeState = featureConsumeState;
    }

    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }

    public Integer getOrderNum() {
        return orderNum;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getUserId() {
        return userId;
    }

    public String getSuitableRange() {
        return suitableRange;
    }

    public void setSuitableRange(String suitableRange) {
        this.suitableRange = suitableRange;
    }

    public String getFeatureValues() {
        return featureValues;
    }

    public void setFeatureValues(String featureValues) {
        this.featureValues = featureValues;
    }

    public List<StaConsumeBo> getCjCategoryBos() {
        return cjCategoryBos;
    }

    public void setCjCategoryBos(List<StaConsumeBo> cjCategoryBos) {
        this.cjCategoryBos = cjCategoryBos;
    }

    public List<Map<String, Object>> getCjCategoryBosOld() {
        return cjCategoryBosOld;
    }

    public void setCjCategoryBosOld(List<Map<String, Object>> cjCategoryBosOld) {
        this.cjCategoryBosOld = cjCategoryBosOld;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("versionId", getVersionId())
                .append("code", getCode())
                .append("name", getName())
                .append("chapterId", getChapterId())
                .append("unit", getUnit())
                .append("content", getContent())
                .append("calcRule", getCalcRule())
                .append("orderNum", getOrderNum())
                .append("deptId", getDeptId())
                .append("userId", getUserId())
                .append("createTime", getCreateTime())
                .append("createBy", getCreateBy())
                .append("updateTime", getUpdateTime())
                .append("updateBy", getUpdateBy())
                .toString();
    }
}
